import { Plugin } from "../../core";
import { ReactElement } from "react";

export enum RotateDirection {
  Backward = "Backward",
  Forward = "Forward",
}

export interface RenderRotateProps {
  direction: RotateDirection;
  onClick(): void;
}

export interface RotateDecoratorProps {
  onClick(): void;
}

export interface RotateProps {
  children?: (props: RenderRotateProps) => ReactElement;
  direction: RotateDirection;
}

// ------
// Plugin
// ------

export interface RotatePlugin extends Plugin {
  Rotate(props: RotateProps): ReactElement;
  RotateBackwardButton(): ReactElement;
  RotateBackwardMenuItem(props: RotateDecoratorProps): ReactElement;
  RotateForwardButton(): ReactElement;
  RotateForwardMenuItem(props: RotateDecoratorProps): ReactElement;
}
